package main

import "fmt"

// 为 int 定义别名类型 TZ，定义一些常量表示时区，比如 UTC，
// 定义一个 map，它将时区的缩写映射为它的全称，比如：UTC -> "Universal Greenwich time"。
// 为类型 TZ 定义 String() 方法，它输出时区的全称。

type TZ int

const (
	HOUR TZ = 60 * 60
	ACT  TZ = -5 * HOUR
	UTC  TZ = 0 * HOUR
	CST  TZ = 8 * HOUR
)

var timezones = map[TZ]string{
	ACT: "北美时间",
	UTC: "世界标准时间",
	CST: "中国时间"}

func (t TZ) String() string {
	if tz, ok := timezones[t]; ok {
		return tz
	}
	return ""
}

func main() {
	var t TZ = ACT
	fmt.Println("timezone ACT is: ", t)
	fmt.Println("timezone +8:00 is: ", 8*HOUR)
}
